package GPSChallenge;
import org.jdom2.*;

import GPSChallenge.movimiento.ContadorDeMovimientos;

public class Jugador {
	
	private String nombre;
	
	private ContadorDeMovimientos unContadorDeMovimientos = ContadorDeMovimientos.obtenerInstancia();
	
	private int ultimoPuntajeAlcanzado;
	
	public Jugador(String unNombre){
		
		this.nombre = unNombre;
		
		this.ultimoPuntajeAlcanzado = 0;
		
		this.unContadorDeMovimientos.reiniciarCantidadDeMovimientos();
		
		this.unContadorDeMovimientos.reiniciarCantidadDeMovimientosMaximos();
		
	}
	
	public Jugador(Element unJugador){
		this.nombre= unJugador.getAttributeValue("nombre");
		
		this.ultimoPuntajeAlcanzado = Integer.parseInt(unJugador.getAttributeValue("puntaje"));
	}
	
	public String obtenerNombre(){
		
		return this.nombre;
		
	}
	
	public int obtenerPuntaje(){
		
		return (this.unContadorDeMovimientos.obtenerCantidadDeMovimientosRestantes());
		
	}
	
	public void setPuntajeFinal(int unPuntaje){
		this.ultimoPuntajeAlcanzado= unPuntaje;
	}
	
	public int obtenerUltimoPuntajeAlcanzado(){
		return this.ultimoPuntajeAlcanzado;
	}
	public Element Serializar(){
		Element elemento = new Element("Jugador");
		elemento.setAttribute("nombre",nombre);
		elemento.setAttribute("puntaje",String.valueOf(ultimoPuntajeAlcanzado));
		
		return elemento;
		
	}

}
